home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #5 & #6
/
Amiga Plus CD - 1995 - No. 5 and 6.iso
/
pd
/
serien
/
purity
/
nr.20
/
gadunit
/
gadbou1.p
< prev
next >
Wrap
Text File
|
1995-04-22
|
2KB
|
76 lines
UNIT gadbou1;
INTERFACE
USES Intuition;
TYPE strtyp=STRING[256]
PROCEDURE umrandung(wo:p_window,c1,c2,x,y,b,h:INTEGER);
PROCEDURE gbord(wo:p_window,was:p_gadget);
PROCEDURE zeichnetext(c1,c2:SHORT,wo:p_window,x,y:INTEGER,text:strtyp);
PROCEDURE uline(wo:p_window,was:p_gadget,c:CHAR);
PROCEDURE gbu(wo:p_window,was:p_gadget,c:CHAR);
PROCEDURE stringumrandung(wo:p_window,c1,c2,x,y,b,h:WORD);
IMPLEMENTATION;
PROCEDURE umrandung;
TYPE umrandungstyp=ARRAY[0..9] OF INTEGER;
VAR Feld1,feld2:umrandungstyp;
border1,border2:BORDER;
BEGIN
feld1:=umrandungstyp(1,1,1,h-2,0,h-1,0,0,b-2,0);
feld2:=umrandungstyp(b-2,h-2,b-2,1,b-1,0,b-1,h-1,1,h-1);
Border1:=Border(x,y,c1,0,0,5,^Feld1,^Border2);
Border2:=Border(x,y,c2,0,0,5,^Feld2,Nil);
drawborder(wo^.rport,^Border1,0,0);
END;
PROCEDURE gbord;
BEGIN
umrandung(wo,2,1,was^.Leftedge,was^.Topedge,was^.Width,was^.height);
END;
PROCEDURE zeichnetext;
VAR it1,it2:INTUITEXT;STATIC;
BEGIN
it1:=INTUITEXT(c1,0,JAM2,1,1,NIL,text,^it2);
it2:=INTUITEXT(c2,0,0,0,0,NIL,text,NIL );
PRINTITEXT(wo^.rport,^it1,x,y);
END;
PROCEDURE uline;
VAR it:intuitext;STATIC;
x,y:LONG;STATIC;
stelle:INTEGER;
BEGIN
IF was^.Gadgettext<> NIL THEN
BEGIN
stelle:=POS(c,was^.gadgettext^.itext);
If stelle>0 THEN
BEGIN
stelle:=stelle-1;
x:=was^.Gadgettext^.leftedge+was^.Leftedge+8*stelle;
y:=was^.Gadgettext^.topedge+was^.Topedge+1;
it:=INTUITEXT(was^.Gadgettext^.frontpen,0,0,0,0,NIL,'_',NIL );
PRINTITEXT(wo^.rport,^it,x,y);
END;
END;
END;
PROCEDURE gbu;
BEGIN
gbord(wo,was);
uline(wo,was,c);
END;
PROCEDURE stringumrandung;
BEGIN
umrandung(wo,c1,c2,x,y,b,h);
umrandung(wo,c2,c1,x-2,y-1,b+4,h+2);
END;
END.